Flutter webview_flutter PlatformWebViewControllerCreationParams
这个类来自于 webview_flutter 的 webview_flutter_platform_interface 包下,是一个 Dart 基类,用于创建 PlatformWebViewController,提供了一种更为灵活的创建方式。
PlatformWebViewControllerCreationParams 类本身是个空类,不同平台的实现通过继承,添加各平台所需的配置参数。
核心概念:
- 可扩展性:这个类设计成可被扩展,允许在不同平台(如 Android 或 iOS)上添加额外的特定于平台的参数。
- 兼容性:在扩展时,建议新参数应接受 null值或设置默认值,以防止引入破坏性更改。
- 不变性:标记为 @immutable,意味着类的实例一旦创建,其字段值将不可更改。
示例
在这个例子中,创建了一个名为 WKWebViewControllerCreationParams 的子类,专门为 iOS 的 WKWebView 提供支持。
class WKWebViewControllerCreationParams
    extends PlatformWebViewControllerCreationParams {
  WKWebViewControllerCreationParams._(
    // This parameter prevents breaking changes later.
    // ignore: avoid_unused_constructor_parameters
    PlatformWebViewControllerCreationParams params, {
    this.domain,
  }) : super();
  factory WKWebViewControllerCreationParams.fromPlatformWebViewControllerCreationParams(
    PlatformWebViewControllerCreationParams params, {
    String? domain,
  }) {
    return WKWebViewControllerCreationParams._(params, domain: domain);
  }
  final String? domain;
}
其中:
- 子类构造函数接受一个 PlatformWebViewControllerCreationParams对象和一个可选的domain字段。domain字段是新增的平台特定参数,用于指定 WKWebView 的域。
- 通过使用工厂构造函数 fromPlatformWebViewControllerCreationParams,可以方便地创建带有额外参数的实例。
本文作者:Maeiee
本文链接:Flutter webview_flutter PlatformWebViewControllerCreationParams
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!
